<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Chapter&nbsp;1.&nbsp;简介</title>
    <link rel="stylesheet" href="css/html.css" type="text/css">
    <meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
    <link rel="home" href="index.html" title="JBoss jBPM 3.1">
    <link rel="up" href="index.html" title="JBoss jBPM 3.1">
    <link rel="previous" href="index.html" title="JBoss jBPM 3.1">
    <link rel="next" href="gettingstarted.html" title="Chapter&nbsp;2.&nbsp;Getting started">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
    <table width="100%" summary="Navigation header">
        <tr>
            <th colspan="3" align="center">第一章：简介</th>
        </tr>
        <tr>
            <td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a>&nbsp;</td>
            <th width="60%" align="center">&nbsp;</th>
            <td width="20%" align="right">&nbsp;<a accesskey="n" href="gettingstarted.html">Next</a></td>
        </tr>
    </table>
    <hr>
</div>
<div class="chapter" lang="cn">
    <div class="titlepage">
        <div>
            <div><h2 class="title"><a name="introduction"></a>第一章：简介</h2></div>
        </div>
        <div></div>
    </div>
    <p>JBoss jBPM是一个灵活、可扩展的工作流管理系统。JBoss jBPM以直观的图形化语言，
        使用任务、异步通讯的等待状态、定时器、自动动作......，等术语来描述业务流程。
        结合所有这些操作，JBoss jBPM有强大的、可扩展的控制流程机制。
    </p>

    <p>JBoss jBPM被设计呈仅有最小的依赖，使得其可以跟使用一个普通的java类库一样容易地使用。
        但是它也可以通过部署在J2EE集群服务器中使用，以满足极大业务量支持为关键需求的系统。</p>

    <p>JBoss jBPM可以被配置到所有的数据库中，同时也可以被部署到所有的应用服务器中。</p>

    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e17"></a>1.1.&nbsp;概览</h2></div>
            </div>
            <div></div>
        </div>
        <p>核心的工作流和BPM功能被打包为一个简单的java包。这个包包含了存储，更新流程信息到jBPM数据库以及和检索流程信息的服务。</p>

        <div class="figure"><a name="overview.image"></a>

            <div class="mediaobject" align="center"><img src="images/overview.gif" align="middle"
                                                         alt="Overview of the JBoss jBPM components"></div>
            <p class="title"><b>Figure&nbsp;1.1.&nbsp;JBoss jBPM 组件概览</b></p></div>
    </div>
    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e28"></a>1.2.&nbsp;JBoss jBPM 入门套件（Starters Kit）</h2>
                </div>
            </div>
            <div></div>
        </div>
        <p>入门套件（Starters Kit）打包了所有jBPM的组件在一个下载文件中以方便下载。其中包括：
        </p>

        <div class="itemizedlist">
            <ul type="disc">
                <li><span class="bold"><b>jbpm-server</b></span>, 一个预先配置好的jboss应用服务器。</li>
                <li><span class="bold"><b>jbpm-designer</b></span>, 一个 eclipse 插件，用来图形化设计流程。
                </li>
                <li><span class="bold"><b>jbpm-db</b></span>, jBPM数据库兼容性包（请看下面）。</li>
                <li><span class="bold"><b>jbpm</b></span>, 核心jbpm组件，包括库文件和这个用户指南。
                </li>
                <li><span class="bold"><b>jbpm-bpel</b></span>, 一个JBoss jBPM BPEL扩展的参考。</li>
            </ul>
        </div>
        <p>预先配置好的JBoss应用服务器包括了如下组件的安装：
        </p>

        <div class="itemizedlist">
            <ul type="disc">
                <li><span class="bold"><b>核心jBPM组件：</b></span>打包为一个服务包</li>
                <li><span class="bold"><b>一个整合了的数据库，包括已经建好的jBPM的数据表：</b></span>缺省的 hypersonic
                    数据库，包含了jBPM的数据表，并已经包含一个流程。
                </li>
                <li><span class="bold"><b>jBPM web控制台应用：</b></span>jBPM管理员和流程参与者均可使用。
                </li>
                <li><span class="bold"><b>jBPM 日程调度器：</b></span>用来运行定时器。日程调度器是以一个servlet的形式配置
                    在入门套件（Starters Kit）中的，该servlet会产生一个线程来监视并运行定时器。
                </li>
                <li><span class="bold"><b>jBPM 命令执行器：</b></span>用来异步执行命令。该执行器也是以一个servlet的形式配置在
                    系统中。该servlet会产生一个线程来监视和执行命令。
                </li>
                <li><span class="bold"><b>一个样例流程：</b></span>已经在jBPM数据库中部署好。
                </li>
            </ul>
        </div>
    </div>
    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e81"></a>1.3.&nbsp;JBoss jBPM图形化流程设计器</h2></div>
            </div>
            <div></div>
        </div>
        <p>
            JBoss jBPM带有一个图形化的流程设计工具，使用该工具可以以图形化的方式来设计流程。
        </p>

        <p> 该流程设计器是一个eclipse的插件。一个可独立运行流程设计器版本正在开发中。</p>

        <p> 图形化流程设计器最重要的特性是可同时支持业务分析人员和技术开发人员完成他们的任务。
            这使得业务流程模型设计到实际实现可以平滑过度。
            </p>

        <p> 该插件提供两种方式下载：一种是通过标准的eclipse软件更新机制进行安装；另一种是作为一个作为
            特性包，你可以下载然后unzip到你的eclipse的home目录下。</p></div>
    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e92"></a>1.4.&nbsp;JBoss jBPM 核心组件
                </h2></div>
            </div>
            <div></div>
        </div>
        <p> JBoss jBPM核心组件是一组普通J2SE程序，用来管理流程定义和运行环境，以运行流程实例。
        </p>

        <p> JBoss jBPM是一个java类库。因此，它可以被用在任何java环境中，如web应用、swing应用、EJB、webservice...
            jBPM类库也可以打包并暴露为无状态session EJB。这使得可以被部署到集群环境中，处理高吞吐业务量。无状态session
            EJB应该遵循J2EE 1.3标准编写，以便可以部署在任何应用服务器上。
        </p>

        <p> JBoss jBPM核心组件是打包为一个简单的java包的。根据于你使用的功能，<tt class="literal">jbpm-3.0.jar</tt>
            会有一些依赖某些第三方的包，如hibernate, dom4j或其它。这些依赖以已经清楚地写在
            <a href="deployment.html" title="Chapter&nbsp;5.&nbsp;Deployment">Chapter&nbsp;5,
            <i>部署</i></a>&nbsp;中</p>

        <p> 在数据持久化方面，jBPM在内部使用hibernate。与传统的O/R银色不同，hibernate还会解决不同数据库的SQL方言差异处理，
            使得jBPM能在当前所有的数据库中部署。
        </p>

        <p> JBoss jBPM API可以在你项目的任何java代码中访问，如你的web应用、EJB、web服务组件、消息驱动bean或其它任何java组件。
            </p></div>
    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e109"></a>1.5.&nbsp;JBoss jBPM web控制台应用</h2></div>
            </div>
            <div></div>
        </div>
        <p> jBPM web控制台应用服务两个目标。第一，作为一个中心用户界面，与流程运行时产生的任务进行交互；第二，
            它也是一个管理和监控的控制台，允许检查和维护运行时实例。
            </p></div>
    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e114"></a>1.6.&nbsp;JBoss jBPM 身份标识组件</h2></div>
            </div>
            <div></div>
        </div>
        <p> JBoss jBPM 可以和任何公司的包含用户或其他组织信息的目录整合。但是为了那些未能很容易的提供这种组织信
            息组件的项目，JBoss jBPM包含了这个组件。使用在该身份标识组件中的模型比传统的servlet/ejb/portlet
            模型有个更加丰富的特性。
        </p>

        <p>如需详细了解，请看 <a href="taskmanagement.html#theidentitycomponent"
                                        title="11.11.&nbsp;The identity component">Section&nbsp;11.11, &#8220;身份标识组件&#8221;</a></p></div>
    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e122"></a>1.7.&nbsp;JBoss jBPM 日程调度器</h2>
                </div>
            </div>
            <div></div>
        </div>
        <p> JBoss jBPM 的日程调度器是一个在流程运行期间监控和执行定时器的组件。
        </p>

        <p> 该定时器组件的软件也是被打包在核心jbpm库中，不过它需要部署在如下环境之一中：你要么配置日志调度器servlet产生监视线程，
            要么启动一个分离的JVM跑日志调度器的main（）。
            </p></div>
    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e129"></a>1.8.&nbsp;JBoss jBPM 数据库兼容性包</h2></div>
            </div>
            <div></div>
        </div>
        <p>JBoss jBPM 数据库兼容性包是一个下载的包，包含所有能使你在你选择的数据库上跑起jBPM的信息，jdbc驱动和数据库脚本。
           </p></div>
    <div class="section" lang="cn">
        <div class="titlepage">
            <div>
                <div><h2 class="title" style="clear: both"><a name="d0e134"></a>1.9.&nbsp;JBoss jBPM BPEL 扩展
                </h2></div>
            </div>
            <div></div>
        </div>
        <p>JBoss jBPM BPEL扩展通过支持BPEL来扩展jBPM。BPEL的本质是一个xml脚本语言，用来编写web服务如何与其他web服务交互的规则。
            </p></div>
</div>
<div class="navfooter">
    <hr>
    <table width="100%" summary="Navigation footer">
        <tr>
            <td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a>&nbsp;</td>
            <td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td>
            <td width="40%" align="right">&nbsp;<a accesskey="n" href="gettingstarted.html">Next</a></td>
        </tr>
        <tr>
            <td width="40%" align="left" valign="top">JBoss jBPM 3.1&nbsp;</td>
            <td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
            <td width="40%" align="right" valign="top">第二章：起步</td>
        </tr>
    </table>
</div>
</body>
</html>